User-selected media content blocking

ABSTRACT

Presented herein is a method of blocking user-selected media content, such as, for example, audio and/or video content. In the method, at least one media content stream is presented to a user, wherein the at least one media content stream includes multiple showings of an identifiable contiguous segment of media content. One example of such a segment may be a commercial or advertisement. While presenting a current showing of the segment of media content to the user, a command is received from a user to block the segment of media content from presentation to the user. In response to receiving the command, information identifying the segment of media content is generated. The at least one media content stream is analyzed using the information to detect subsequent showings of the segment of media content. Presentation of at least one of the subsequent showings of the segment of media content is prevented when detected in the at least one media content stream.

BACKGROUND

Nearly all commercial broadcast radio and television channels presentprograms, such as movies, entertainment series episodes, news programs,sporting events, and the like, separated by, and possibly interspersedwith, short advertisements or commercial messages that are presented tothe user multiples times over a period of days, weeks, or months. Suchis often true even of non-broadcast premium or subscriber-only channels,which present promotional advertising of upcoming programming to bepresented on the channel. While a user may specifically choose theprograms they wish to view, the user typically has no control over thecommercials or advertisements shown during their desired programs. Atthe least, some of the commercials may be of little interest to theuser. Worse, the user may find some advertisements annoying or evenoffensive in terms of the subject matter being presented, or in themanner in which the information is presented, such as by way of fastervideo edits, louder audio in selected frequency ranges, and so on.

In the case of television commercials, the user may mute the audioportion of an undesirable advertisement, using the video portion of thecommercial to determine when the advertisement has ended so that theaudio portion may be restored. However, such a process leaves the videoportion of the commercial visible to the user. In another case, the usermay switch broadcast channels when an unwanted commercial is shown toavoid both the audio and video portions of the advertisement. However,in so doing, the user may not be aware of when presentation of thecommercial is complete, thus either returning to the original channeltoo soon to see the remainder of the commercial, or too late to miss theresumption of the desired program being viewed. Further, the alternatechannel to which the user has tuned may be carrying an even moreundesirable programming segment, such as another commercial or anundesired feature presentation, at that time.

BRIEF DESCRIPTION OF THE DRAWINGS

Many aspects of the present disclosure may be better understood withreference to the following drawings. The components in the drawings arenot necessarily depicted to scale, as emphasis is instead placed uponclear illustration of the principles of the disclosure. Moreover, in thedrawings, like reference numerals designate corresponding partsthroughout the several views. Also, while several embodiments aredescribed in connection with these drawings, the disclosure is notlimited to the embodiments disclosed herein. On the contrary, the intentis to cover all alternatives, modifications, and equivalents.

FIG. 1 is a simplified block diagram of a media content receiveraccording to an embodiment of the invention.

FIG. 2 is a graphical depiction of a media content stream includingmultiple showings of a specific media content segment according to anembodiment of the invention.

FIG. 3 is a flow diagram of a method according to an embodiment of theinvention of blocking user-selected media content.

FIG. 4A is a graphical depiction of a filtered media content stream inwhich showings of a particular segment of media content are replacedwith alternate content according to an embodiment of the invention.

FIG. 4B is a graphical depiction of a filtered media content stream inwhich showings of a particular segment of media content are eliminatedfrom the media content stream according to an embodiment of theinvention.

FIG. 5 is a block diagram of a media content receiver according to anembodiment of the invention.

FIG. 6 is a block diagram of multiple media content receivers as shownin FIG. 5 configured to transfer media content segment identificationinformation among the receivers according to an embodiment of theinvention.

FIG. 7 is a block diagram of multiple media content receivers configuredto provide media content segment identification information to acommunication node according to an embodiment of the invention.

FIG. 8 is a block diagram of the communication node of FIG. 7 accordingto an embodiment of the invention.

DETAILED DESCRIPTION

The enclosed drawings and the following description depict specificembodiments of the invention to teach those skilled in the art how tomake and use the best mode of the invention. For the purpose of teachinginventive principles, some conventional aspects have been simplified oromitted. Those skilled in the art will appreciate variations of theseembodiments that fall within the scope of the invention. Those skilledin the art will also appreciate that the features described below can becombined in various ways to form multiple embodiments of the invention.As a result, the invention is not limited to the specific embodimentsdescribed below, but only by the claims and their equivalents.

FIG. 1 is a block diagram of a media content receiver 100 receiving amedia content stream 102. One example of the media content stream 102 istelevision programming carried over a satellite, cable, or terrestrial(“over-the-air”) broadcast channel. Another example may be audioprogramming carried over a satellite, cable, or terrestrial radiochannel or frequency. More generally, any stream of audio and/or visualprogramming or content transferred over a communications channel,including wired and wireless communication networks, such as theInternet or other wide-area network (WAN), local-area network (LAN), andmobile communications network, may serve as the media content stream102.

Accordingly, the media content receiver 100 may be any device configuredto receive and process the media content stream 102 for presentation toa user or viewer. Examples of the media content receiver 100 include,but are not limited to, satellite, cable, and terrestrial televisionreceivers or set-top boxes, televisions, satellite, and terrestrialradio receivers, digital video recorder (DVR) units, desktop and laptopcomputers, and mobile communication devices, such as cellular phones,personal digital assistants (PDAs), and so on. The media contentreceiver 100 may include an output device, such as a visual displayand/or audio-generating hardware, for presenting media content to auser, or may be configured to communicate with such components forpresentation purposes.

As shown in FIG. 1, the media content receiver 100 is configured toreceive and process the media content stream 102 to produce a filteredmedia content stream 104 for presentation to a user. A graphicalrepresentation of an example of the media content stream 102 ispresented in FIG. 2. The media content stream 102 includes a number ofshowings 202A, 202B, 202C of a particular identifiable contiguous mediacontent segment 202 that is selected by a user to be blocked orprevented from presentation. The various showings of the segment 202 areseparated by various portions 201A, 201B, 201C, 201D of the mediacontent stream 102. If the media content stream 102 is a stream oftelevision programming provided on a broadcast channel, the selectedmedia content segment 202 may be a television commercial oradvertisement to be blocked or prevented from presentation, while theintervening portions 201 constitute other television content to bepresented to the user, such as television programming, other televisioncommercials, and the like. While the examples discussed below makereference to the media content segment 202 as a commercial oradvertisement, other types of identifiable media content segments 202,such as entire movies or programs, or identifiable sections thereof,such as opening or closing credits, may also be filtered or blocked frompresentation in other implementations.

FIG. 3 presents a method 300 of blocking user-selected media contentaccording to an embodiment of the invention. Using FIGS. 1 and 2 forreference, in the method 300 at least one media content stream 102 ispresented to a user (operation 302). As shown in FIG. 2, the at leastone media content stream 102 includes multiple showings 202A, 202B, 202Cof a segment 202 of media content. While presenting a current showing202A of the media content segment 202 to the user, a command is receivedfrom the user to block the media content segment 202 from presentationto the user (operation 304). In response to receiving the command,information identifying the media content segment 202 is generated(operation 306). The at least one media content stream 102 is analyzedto detect subsequent showings 202B, 202C of the media content segment202 using the information (operation 308). Presentation to the user ofat least one of the subsequent showings 202B, 202C of the media contentsegment 202 is prevented when detected in the at least one media contentstream 102 (operation 310). In some implementations, the remainder ofthe initial showing 202A occurring after reception of the command mayalso be blocked or prevented from presentation.

While the operations of FIG. 3 are depicted as being executed in aparticular order, other orders of execution, including concurrent oroverlapping execution of two or more implied or explicit operations, maybe possible. In another embodiment, a computer-readable storage mediummay have encoded thereon instructions for a processor or other controlcircuitry of the media content receiver 100 of FIG. 1, or a similarreceiving device, to implement the method 300.

As a result of employing the method 300, subsequent showings of auser-selected identifiable segment of media content, such as acommercial or advertisement, may be blocked based on input received froma user while a current showing of the segment is being presented. Thus,if a user finds a currently-presented media content segmentobjectionable, the user may merely provide some indication to the mediacontent receiver, which then operates to detect and block subsequentshowings of the segment based on information that may be used toidentify the segment in the media content stream. Additional advantagesmay be recognized from the various implementations of the inventiondiscussed in greater detail below.

FIGS. 4A and 4B provide graphical representations of two possibleexamples of the filtered media content stream 104 of FIG. 1. In FIG. 4A,each showing 202A, 202B, 202C of the selected media content segment 202is replaced by alternate content 402A, 402B, 402C in the filtered mediacontent stream 104A. In other implementations, less than all of theshowings 202A, 202B, 202C are replaced by alternate content 402, undercontrol of the user. For example, the user may be able to allow thepresentation of the selected media content segment 202 somepredetermined number of times per day. As is described in greater detailbelow, such content may be content provided via a separate broadcastchannel received by the media content receiver 100, via a separatecommunication path or link, or may be supplied from within the receiver100. Use of the alternate content 402 may allow the media contentportions 201 between the original selected segments 202 to continue tobe presented as originally received relative to each other in time. Suchan implementation is useful in cases in which the filtered contentstream 104 is presented to the user with little or no delay while themedia content stream 102 is being received.

In the example of FIG. 4B, in filtered media content 104B, each showing202A, 202B, 202C of the selected media content segment 202 may beremoved from the stream 104B, essentially allowing the intervening mediacontent portions 201A, 201B, 201C, 201D to be presented back-to-back,essentially compressing the presentation time of the overall filteredmedia content stream 104B. Such an implementation may be possible if asufficient amount of the received media content stream 102 is bufferedor stored within the media content receiver 100, such as in a receiverthat provides digital video recorded (DVR) functionality. In that case,alternate content to replace the selected segment showings 202 is notrequired but may be used. In other implementations, the media contentportions 201 may be separated by visual darkness and/or audio silencefor some short period of time, such as one or two seconds, to providesome separation between the various content portions 201 being presentedto the user. In addition, each showing 202 of the selected segment maybe preserved or deleted in the stored portion of the filtered stream104B, or the showings 202 may be edited out as the filtered stream 104Bis presented to the user.

FIG. 5 is a block diagram of a media content receiver 500 according toone embodiment of the invention. As with the media content receiver 100of FIG. 1, the media content receiver 500 of FIG. 5 may be a satellitetelevision programming receiver, although various other types ofreceivers, such as cable and terrestrial television receivers, radiobroadcast receivers, mobile communication devices, and computers, mayserve as the media content receiver 500. As shown in FIG. 5, the mediacontent receiver 500 includes a content input interface 510, a contentoutput interface 512, a user interface 514, and control circuitry 516.The media content receiver 500 may also include data storage 518 and acommunication interface 520 in some implementations. Further, the mediacontent receiver 500 may incorporate a presentation unit 515 forpresenting media content to a user, or may be coupled to such a device.Other components, such as a power supply or a “smart card” removablememory device interface, may also be included in the media contentreceiver 500, but are not described further herein to simplify and focusthe following discussion. Other devices, such as a satellite orterrestrial antenna and associated signal conversion circuitry, may becoupled with the receiver 500 to receive the media content streamsdescribed below, but such devices are not discussed in detailhereinafter.

The content input interface 510 receives one or more media contentstreams 502A-502N, such as broadcast television programming streamsreceived via separate programming channels. In the case of a satellitetelevision receiver, the content input interface 510 receives thecontent 502 via an antenna/LNB combination that receives, down-converts,and forwards the content 502 to the content input interface 510,typically via a coaxial cable. The content input interface 510 mayinclude one or more tuners for selecting particular programming channelscarrying the incoming content streams 502 for forwarding via the contentoutput interface 512 to the presentation unit 515, such as a television,video monitor, and/or audio amplifier with speakers. The content inputinterface 510 may also perform any decryption, decoding, and similarprocessing of the received content streams 502 required to place thecontent streams 502 in a format usable by the content output interface512. In one example, the video may be formatted according to one of theMotion Picture Experts Group (MPEG) formats, such as MPEG-2 or MPEG-4,while the audio may be formatted according to MPEG or Dolby Digital 5.1(also referred to as AC-3). Other audio/video content format standardsmay be utilized in other embodiments.

The content output interface 512 provides at least one of the mediacontent streams 502 as a filtered output media content stream 504 to thetelevision or other presentation unit 515 connected thereto. To thatend, the content output interface 512 may encode the output mediacontent 504 in accordance with one or more output formats. For example,the content output interface 512 may format the output media contentstream 504 for one or more of an analog composite or component videoconnection with associated audio connection, a modulated radio frequency(RF) connection, and a High Definition Multimedia Interface (HDMI)connection. Other possibilities for the content output interface 512include, but are not limited to, Ethernet and Universal Serial Bus(USB).

To allow a user to control various functions and aspects of the receiver500, including the selection of programming channels for viewing, aswell as the selection of a content segment to be blocked or removed, theuser interface 514 receives user input 522 for such purposes. In manyexamples, the user interface 514 may be a remote control interfaceconfigured to receive the user input 522 by way of infrared (IR), radiofrequency (RF), acoustic, or other wireless signal technologies. Tofacilitate such information entry, the receiver 500 may provide a menusystem or other on-screen display system presented to the user via thepresentation unit 515. In some implementations, the user interface 514may also include any of a keyboard, mouse, and/or other user inputdevice.

The data storage 518, if included, is configured to store at least aportion of one or more of the media content streams 502 for delayedplayback via the content output interface 512 to the presentation unit515. Thus, the data storage 518 may operate as a DVR unit incorporatedin the receiver 500, or may provide a time delay between reception ofthe media content streams 502 and delivery of the associated outputmedia content stream 504 to the presentation unit 515. Otherinformation, such as electronic program guide (EPG) information andinformation identifying segments of the input media content stream 502for filtering thereof, may also be included in the data storage 518. Thedata storage 518 may include volatile memory, such as static and/ordynamic random-access memory (RAM), and/or nonvolatile memory, such asread-only memory (ROM), flash memory, and magnetic or optical diskmemory.

The control circuitry 516 is configured to control and/or access othercomponents of the media content receiver 500. The control circuitry 516may include one or more processors, such as a microprocessor,microcontroller, or digital signal processor (DSP), configured toexecute instructions directing the processor to perform the functionsdiscussed more fully hereinafter, such as the generation of informationidentified with a user-selected segment of an input media content stream502, detection of a subsequent showing of the segment, and the like. Thecontrol circuitry 516 may also include memory or data storage adapted tocontain such instructions, or may utilize the data storage 518 for thatpurpose. The memory may also include other data to aid the controlcircuitry 516 in performing the tasks more particularly described below.In another implementation, the control circuitry 516 may be strictlyhardware-based logic, or may include a combination of hardware,firmware, and/or software elements.

In some implementations, the media content receiver 500 may include acommunication interface 520 configured to transmit or receive segmentidentification information 530 associated with a user-selected segmentto be blocked or prevented from presentation with another receiver 500or with a separate communication node, as is described more fully below.The communication interface 520 may employ any of a number ofcommunication technologies for transmission and reception of the segmentidentification information 530, including both wired and wirelessvarieties. For example, the communication interface 520 may be anEthernet, Wi-Fi (IEEE 802.11x), Bluetooth®, or HomePlug® interface forconnecting with an Internet gateway device, or with another receiver 500located nearby. In another implementation, the communication interface520 may employ a direct connection to a broadband connection forreceiving and transmitting the information 530 via the Internet.

In operation, the control circuitry 516 of the media content receiver500 is configured to present at least one of the media content streams502 received via the content input interface 510 to the content outputinterface 512 for presentation to the user via the presentation unit515. In one example, the user has selected which of the media contentsstreams 502 are to be presented via user input 522 received at the userinterface 514. In some implementations, more than one of the streams 502may be presented to the user concurrently, such as in apicture-in-picture (PIP) mode.

In the examples to follow, the input media content stream 502 generallyincludes both video data and audio data, possibly along with some textdata and/or other “metadata”, which may describe various aspects of, orprovide additional information regarding, the input stream 502. Thevideo data may include an ongoing series of still video images, or“frames”, that provide a moving image when presented in sequence.Furthermore, the frames may be presented in an uncompressed format, orin a compressed format, such as one of the MPEG formats, includingMPEG-2 or MPEG-4. Similarly, the audio data may include a series ofaudio samples for presentation to the user in sequence.

While presenting a media content stream 502 to the user via thepresentation unit 515 as the output media content stream 504, the usermay employ the user interface 514 to provide a user input 522 commandindicating that subsequent showings of an identifiable contiguoussegment of the output media content stream 504 currently being presentedare to be blocked from presentation. In some cases, the segment may be atelevision or radio commercial or advertisement, although other types ofmedia content segments may be selected for blocking. The user may enterthe command or selection by way of a specific button or key on a remotecontrol device, by way of a menu item selection, or via some other inputmeans.

In response to the user command, the control circuitry 516 generatesinformation identifying the selected segment of the media content stream502. Several attributes of the media content stream 502 may be employedfor such a purpose. In one example, the media content stream 502 mayinclude metadata which associates the segment with a unique identifier.More specifically, the unique identifier may be present in the metadataof the input media content stream 502 for the duration of the segment.As a result, the identifier may be employed to detect both the beginningand end of each showing of the selected segment. Additionally, thecontrol circuitry 516 may employ the identifier as segmentidentification information 530 to detect the beginning and end of eachsubsequent segment for blocking purposes. In one implementation, theidentifier may be a globally-unique identifier (GUID) assigned to eachpossible content segment by way of a producer of the segment, by themedia content service provider delivering the segment to the receiver500, or another entity. Such an identifier may be transmittedperiodically throughout the segment so that accurate identification ofthe beginning and end of the segment within the input content stream 502is possible. Thus, by analyzing the input content stream 502 on acontinuing basis, the control circuitry 516 may detect any subsequentshowings of the user-selected content segment and prevent thepresentation thereof via the content output interface 512.

In many cases, however, metadata specifically identifying the segmentand its beginning and end may not be available in the input contentstream 502. Accordingly, the control circuitry 516 may instead employother forms of metadata, as well as attributes or characteristics of thevideo and/or audio data present in the input content stream 502. Forexample, one type of data often presented during commercials and othersegments of the input content stream 502 may be closed captioning dataprovided primarily for viewers with hearing challenges. Examples ofclosed captioning data accompanying video and audio data for a mediacontent stream 502 include data formatted according to the EIA-608standard for NTSC (National Television System Committee) broadcasts andthe EIA-708 standard for ATSC (Advanced Television Systems Committee)transmissions. In some implementations, the captioning data may bereceived over the same channel or stream 502 over which the associatedor related audio and video data are received. In other examples, thecaptioning data associated with the audio/video data may be receivedover a separate channel, or by way of a separate input connection, suchas the communication interface 520.

For example, upon user selection of the current content segment, thecontrol circuitry 516 may peruse the closed captioning data of the inputcontent stream 502 to find a unique word or phrase to be associated withthe segment, or a mathematical hash, such as MD5 (Message-Digestalgorithm 5), calculated from that data. The control circuitry 516 maysearch the closed captioning data in the content stream 502 immediatelyafter the receipt of the user selection command. Additionally, if theinput content stream 402 is being buffered in the data storage 518, thecontrol circuitry 516 may also search closed captioning data associatedwith content 502 that was presented prior to receipt of the userselection.

Once the control circuitry 516 determines a unique word or phrase fromthe closed captioning data, the control circuitry 516 generates segmentidentification information 530 indicating the unique text thatidentifies the media content segment to be blocked. In oneimplementation, the identification information 530 includes the uniquetext. The information 530 may also include indications of the beginningand end of the selected segment relative to the location or timestampassociated with the unique text. For example, the start of the segmentmay be designated by an implicit, explicit, or calculated time value ornumber of frames preceding the unique text when the closed captioningcontaining the text appears in the media content stream 502. Similarly,the end of the segment may be indicated via a time value or number offrames following the unique text in the stream 502.

To generate the information 530 indicating the start and end of thesegment 502, the control circuitry 516 may employ data other than theclosed captioning metadata to determine the start and end points of thesegment in the stream 502. In one implementation, the user may indicatevia additional user input 522 the beginning and end of the segment to beblocked. For example, presuming the receiver 500 employs time-shiftingfunctionality via its data storage 518, the user may rewind presentationof the segment to its beginning, mark the current location as the startof the segment, then navigate to the end of the segment and mark thatlocation as such. In response, the control circuitry 516 may employthese user inputs to generate data indicating the beginning and end ofthe segment relative to the unique text employed to identify futureshowings of the segment.

In another example, the control circuitry 516 may analyze the video databoth before and after the point in the stream 502 at which the uniquetext is to be presented. For example, the control circuitry 516 mayanalyze the video data for a short series of dark video frames, whichmay indicate transitions between the selected segment and the remainderof the media content stream 502. Further, the control circuitry 516 mayuse knowledge regarding the nature of the selected segment to determineor calculate how many frames or seconds separate the beginning and endof the segment. In the case of a television commercial, the controlcircuitry 516 may utilize the fact that most commercials are fifteenseconds, thirty seconds, or sixty seconds in length. As a result, if thecontrol circuitry 516 discovers two series of dark frames thirty secondsapart and located both before and after the unique text, the controlcircuitry 516 may designate the location of the two dark frame series asthe start and end of the selected segment.

In another embodiment, the control circuitry 516 may analyze otheraspects of the video data in the neighborhood of the unique text,drawing upon other attributes of the video associated with the type ofsegment being selected. For instance, for the blocking of commercialsand advertisements, the control circuitry 516 may inspect the stream 502for changes in video resolution, such as changes between standarddefinition and high definition content, to detect the beginning and endof a commercial selected for blocking.

In another example, the control circuitry 516 may inspect color tablestransmitted periodically as part of the input video content stream 502to detect significant changes in the tables. Generally, in compressedvideo data, the color tables provide a mapping from one set of colors toa smaller data set that facilitates compression of the video data.Further, a color table may be provided periodically in the media contentstream 502 to reflect changes in the overall color scheme of the stream502. In many cases, a commercial will provide a significantly differentand consistent set of color tables than what is provided both before andafter the commercial in the media content stream 502. The controlcircuitry 516 may interpret transitions between different sets of colortables close to the unique text as the beginning and end of theuser-selected segment.

Similarly, the control circuitry 516 may employ the audio portion of themedia content stream 502 to ascertain the beginning and end of theselected segment. With respect to commercials, the control circuitry 516may search for audio samples representing audio silence, which, likeshort series of dark frames, is typical for short periods of timepreceding and following commercials. If a group of silent samples islocated in the stream 502 preceding the user-selected segment, andanother group is detected following the segment, the control circuitry516 may presume those audio sample groups are located at the beginningand end of the segment. Further, if the sample groups are separated bysome standard length of time commensurate with commercial duration, suchas fifteen or thirty seconds, the control circuitry 516 may possess moreconfidence that the two sample groups delineate the user-selectedsegment.

As with video, the format of the audio sample information may changesignificantly when transitioning from program to commercial, andvice-versa. For example, while much programming may be presented in anadvanced audio format, such as Dolby Digital 5.1, many commercials mayutilize two-channel stereo audio. The control circuitry 516 mayinterpret these changes in audio attributes as transitions between theuser-selected segment and the remainder of the media content stream 502.

The control circuitry 516 may exploit other differences in audio betweenthe type of segment the user has selected for blocking and thesurrounding portions of the media content 502 to determine the extent ofthe segment. In one example, television commercials and advertisementsoften exhibit a restricted frequency range that includes strongermid-range frequency content and less low-frequency and high-frequencycontent than other forms of media content. The control circuitry 516 canutilize such information to determine when the user-selected segmentbegins and ends. In other cases, commercials may employ an overallhigher volume level than other content proximate to the commercialsegment in the media content stream 502, allowing the control circuitry516 another way of distinguishing between the segment and thesurrounding content.

To help ensure that the beginning and end of the segment are correctlyidentified, the control circuitry 516 may also compare the audio orvideo data being used to determine the extent of the segment withsimilar data corresponding to the point in the segment identified withthe unique text of the segment. For example, if the audio formatting atthe ends indicates that the segment is recorded in two-channel stereoaudio, the audio formatting of the segment at the point of the uniqueclosed captioning text should also be in two-channel format. Other videoand audio data or attributes associated with the segment, such as videoformat, audio frequency range, and the like, may be employed in likemanner.

In yet other embodiments, some of the audio and video information andattributes described above may be employed not only to determine thestart and end of the selected segment, but as information identifyingthe segment. For example, one or more samples of video color tablesprovided during the segment may be of sufficient uniqueness todistinguish the segment from other portions of the media content stream502. Similarly, certain video frames or sequences thereof may be of sucha unique character to allow identification of the segment within thestream 502. Unique audio frames or sequences thereof, audio frequencyranges, and other audio attributes may be employed to identify theuser-selected segment instead of closed captioning text or othermetadata.

Any of the audio data, video data, and metadata described above may beincluded as the segment identification information 530 generated by thecontrol circuitry 516. As indicated above, the control circuitry 516 maythen employ this data to detect subsequent showings of the same segmentof media content in any of the media contents streams 502 beingpresented to the user via the content output interface 512. Further, thecontrol circuitry 516 may employ and assign different statisticalweights to any combination of the different types of video data, audiodata, and metadata discussed above to both identify the segment, and todefine the start and end points thereof, for detecting and blockingfuture showings of the segment.

In some cases, to ensure that a particular portion of the media contentstream 502 remains available for analysis by the control circuitry 516for generation of the segment identification information 530 after theuser selection is received, a sufficient amount of the media contentstream 502 may remain in the data storage 518 for some period of time toallow analysis of portions of the stream 502 that have already beenpresented to the user. For example, when the user selects the currentsegment for subsequent blocking, storing a sufficient amount of themedia content stream 502 to include the start of the segment may allowthe control circuitry 516 to determine the starting point of thesegment.

Similarly, in scenarios in which any unique data, as may be found in thevideo data, audio data, and/or metadata, for identifying the segment isnot located at or proximate to the beginning of the segment, the controlcircuitry 516 may employ the data storage 518 as a buffer for delayingpresentation of the stream 502 to the user after reception via thecontent input interface 510. More specifically, if the control circuitry516 buffers the content stream 502 for at least as long as is requiredto receive and analyze the content stream 502 in order to identify theuser-selected segment before the beginning of the segment is presentedto the user, then the control circuitry 516 may prevent presentation ofthe entire segment. Otherwise, some portion of the beginning of thesegment may be presented to the user prior to determining that theuser-selected segment has been encountered in the input content stream502.

In addition to preventing presentation of subsequent showings of theuser-selected segment, in some implementations the control circuitry 516is configured to block the remainder of the current showing of theuser-selected segment upon receipt of the user command selecting thecurrent segment for blocking. In such cases, the control circuitry 516is also adapted to resume presentation of the media content stream 502once the end of the user-selected segment has been detected, as isdescribed above.

When all or a portion of the user-selected segment is blocked, thecontrol circuitry 516 may provide alternate audio and/or visual contentduring that time, such as the alternate content 402 depicted in FIG. 4A.While presentation of a dark screen and audio silence during theblocking period is possible, other forms of alternate content may bedesired. For example, while a segment is being blocked, the controlcircuitry 516 may provide an information screen, such as a “pop-up”screen, informing the current viewer that the current video content hasbeen blocked in accordance with a user preference. In addition, thecontrol circuitry 516 may provide instructions on how the user mayprovide user input 522 to allow the content to be presented, either forthe current showing only or for future showings as well.

In lieu of, or in addition to, the pop-up screen, the control circuitry516 may provide alternate video content that is either pre-stored in thedata storage 518 or available via another of the input media contentstreams 502. For example, the alternate video content may include a“screen saver” or other type of pre-stored content that does not have apredetermined presentation time so that the alternate content may beemployed for a user-selected segment of any time duration. In anotherimplementation, the alternate visual content may be a “barker” orpromotional channel providing information about upcoming programmingavailable via one of the input content streams 502 available at thereceiver 500. Audio from such a channel may be presented to the user aswell.

In another example, alternate audio content may be provided via one ofthe other media content streams 502 not currently being presented to theuser. In one scenario, the audio may be provided via a music channeleither chosen at random or previously selected by the user via a menusystem supplied by the receiver 500.

In addition to the segment specifically selected by the user, othersegments related in some fashion to the user-selected segment may alsobe blocked upon user request. For example, if a commercial has beenselected for blocking, the user may also request that other commercialsfor the same product or service, or commercials produced by the sameprovider of that product or service, may also be excluded frompresentation. Similarly, other products of that same type regardless ofthe corporate entity involved may also be blocked. To this end, thecontrol circuitry 512 may analyze any closed captioning data or othermetadata accompanying or associated with the selected segment, and thencompare the metadata with that of other portions of the input mediacontent stream 502 to discover other segments that may be blocked.

For example, if a selected segment may be identified by metadata textidentifying a particular product, service, type of product or service,or corporate entity, that same text may then be searched in otherportions of the stream 502 to identify and block segments containingthat text. Such text may or may not constitute the segmentidentification information 530 employed above to identify theuser-selected segment; instead, the text used to identify other segmentsto be blocked may be extracted or derived from other closed captioningtext supplied within the user-selected segment.

In other embodiments, forms of metadata other than closed captioningdata may be employed in the media content stream 502 to block relatedsegments from being presented in the output media content stream 504. Inthe case of a user-selected commercial, such metadata may explicitlydefine various aspects of the commercial, such as the product or servicebeing advertised, the product or service provider for the product, as soon.

Many of the functional aspects associated with the control circuitry 516may be guided by way of user options provided by way of user input 522through the user interface 514. In one implementation, the user mayaccess a set of menu options provided by the control circuitry 516 viathe content output interface 512 to allow the user to set the scope ofcontent to block, such as only the user-selected segment, other segmentsrelated to the segment, segments associated with product or serviceproviders of the user-selected segment, and the like. Also, the user mayselect the type of alternate content, such as a barker or music channel,to use as a replacement of the blocked segment. The control circuitry516 may also provide a list of the segments currently being blocked,along with an option to allow those segments to be presented via thecontent output interface 512.

FIG. 6 is a block diagram of multiple media content receivers 500A,500B, 500C communicatively coupled together, such as by way of anEthernet, Wi-Fi, or HomePlug® network often found in a home or businessenvironment. To allow a single commercial or other segment to be blockedon multiple receivers 500, segment identification information 530generated on the first media content receiver 500A may be forwarded byway of its communication interface 520 to a second receiver 500B so thatthe user-selected segment may be blocked from presentation on both thefirst receiver 500A and the second receiver 500B without the user beingrequired to issue the user selection of the segment separately on thesecond receiver 500B. Further, the second receiver 500B may forward thatsame information 530 to a third media content receiver 500C so that anyreceiver 500 networked to the first receiver 500A may receive thesegment information 530, thus allowing the user to specify or select thesegment to be blocked only once while having that segment blocked oneach receiver 500 associated with the user.

In addition to the segment identification information 530 required toidentify a content segment for blocking purposes, a media contentreceiver may also generate a second type of segment content informationfor use by a third party. As shown in FIG. 7, multiple media contentreceivers 710A, 710B, 710C may be configured to transmit segmentidentification information 702A, 702B, 702C, respectively, to acommunication node or server 700. Such communication may occur via acommunication interface of each receiver 710A, such as the communicationinterface 520 of the receiver 500 of FIG. 5. In this example, thesegment identification information 702 may provide an indication of asegment by way of specifying a channel number identifying a particularmedia content stream 502, along with a particular date and timeassociated with a segment selected by a user for blocking. Each receiver710A, 710B, 710C may also provide demographic information 704A, 704B,704C, respectively, possibly reflecting various characteristics of theuser associated with the receiver 710, such as age, gender, and thelike.

In response to collecting the segment identification information 702,and possibly the demographic information 704, the communication node 700may generate segment unpopularity information 706 and transmit theinformation 706 to third parties, such as advertisers of products andservices portrayed in commercials available in content streams 502received by the receivers 710.

As shown in greater detail in FIG. 8, the communication server or node700 includes control circuitry 802 and a communication interface 804,which may be similar in functionality to the control circuitry 516 andthe communication interface 520 of the receiver 500 of FIG. 5. Othercomponents, such as a user interface, power supply, and the like, mayalso be included in the communication node 700 but are not discussedfurther herein. Generally, the communication interface 804 receives thesegment identification information 702, and possibly user demographicinformation 704, from the receivers 500. In another example, thecommunication interface 804 receives the demographic information 704from another source, such as a content subscriber database maintained bythe service provider of the various content streams 502 that may bereceived at the receivers 710. The communication interface 804 may alsoreceive segment scheduling information 708 relating the particularstream 502 or channel, and broadcast date and time, of various segments,such as programs, commercials, and the like, to some identifyinginformation for each of the segments, such as the product, service, orcorporate entity involved.

Based on the information received at the communication node 700, thecontrol circuitry 802 of the node 700 may generate segment unpopularityinformation 706, which provides an indication as to which segments arebeing blocked the most, and also may associate the blocked segments withspecific demographic viewer groups. In the case of commercial segments,such information 706 may be desired by product manufacturers, serviceproviders, marketing firms, and so on to determine which commercials oradvertisements are less popular.

At least some of the embodiments presented above allow a user of a mediacontent receiver, such as a satellite, cable, or terrestrial set-topbox, to block or prevent the presentation of one or more media contentsegments, such as television commercials, at each showing of the segmentin response to a single user indication to block the currently-presentedsegment. The selected segment may be edited out of the media contentstream carrying the segment, or may be replaced with alternate audioand/or video content less objectionable to the user. Furthermore,information identifying the segment to be blocked may be forwarded toother receivers for blocking purposes, as well as to a more centralizedcommunication node configured to aggregate such information frommultiple receivers and process the information to generate an indicationof the relative unpopularity of the segment.

While several embodiments of the invention have been discussed herein,other implementations encompassed by the scope of the invention arepossible. For example, while various embodiments have been describedlargely within the context of television set-top boxes, the design ofother types of media content receivers, such as satellite andterrestrial radios, standalone DVRs, cellular telephones, PDAs, anddesktop and laptop computers, that are capable of receiving mediacontent streams with commercials and other contiguous identifiablecontent segments may employ various aspects of the systems and methodsdescribed above to similar effect. In addition, aspects of oneembodiment disclosed herein may be combined with those of alternativeembodiments to create further implementations of the present invention.Thus, while the present invention has been described in the context ofspecific embodiments, such descriptions are provided for illustrationand not limitation. Accordingly, the proper scope of the presentinvention is delimited only by the following claims and theirequivalents.

What is claimed is:
 1. A method of blocking user-selected media content,the method comprising: presenting at least one media content stream to auser, wherein the at least one media content stream includes a pluralityof identifiable contiguous segments of media content; while presenting acurrent showing of one of the plurality of identifiable contiguoussegments of media content in a currently received portion of the mediacontent stream to the user, receiving a command from the user to blockthe segment of media content from presentation to the user; in responseto receiving the command, generating information identifying the blockedsegment of media content; analyzing a later received portion of the atleast one media content stream to detect subsequent receiving of a latersegment of media content using the information, wherein the receivedlater segment of media content has the same information as the blockedsegment; and preventing presentation to the user of a subsequent showingof the later segment of media content when detected in the laterreceived portion of the media content stream.
 2. The method of claim 1,further comprising: in response to receiving the command and in responseto receiving the later segment of media content in the later receivedportion of the media content stream, preventing presentation of themedia content stream; analyzing the media content stream to detect anend of the received later segment of media content; and upon detectingthe end of the received later segment of media content in the mediacontent stream, resuming presentation of the media content stream afterthe end of the later segment of media content.
 3. The method of claim 1,wherein: the information identifying the blocked segment of the mediacontent comprises unique metadata associated with the blocked segment;analyzing the media content stream comprises comparing the uniquemetadata of the blocked segment with metadata associated with the latersegment of media content in the later received portion of the mediacontent stream, wherein the received later segment of media content hasthe same meta data as the blocked segment; and preventing presentationof the subsequent showing of the received later segment of media contentcomprises preventing presentation of the media content stream at thepoint in the media content stream at which the unique metadata of thelater segment of media content is detected.
 4. The method of claim 3,wherein: preventing presentation of the subsequent showing of the latersegment of media content comprises resuming presentation of the mediacontent stream at a point in the media content stream at which theunique metadata of the later segment of media content is no longerdetected.
 5. The method of claim 1, wherein: the information identifyingthe blocked segment of the media content comprises unique metadataassociated with a particular time of the blocked segment, a startingoffset indicating the start of the blocked segment relative to theparticular time of the blocked segment, and an ending offset indicatingan end of the blocked segment relative to the particular time of theblocked segment; analyzing the media content stream comprises comparingmetadata of subsequently received segments in the later received portionof the media content stream with the unique metadata of the blockedsegment; and preventing presentation of the later segment of mediacontent comprises preventing presentation of the media content streambeginning at a start of the later segment of media content, and endingat the end of the later segment of media content, based on detecting thestart of the meta data of the later segment of media content and theending offset of the unique metadata of the blocked segment.
 6. Themethod of claim 5, wherein: the unique metadata comprises textual datato be presented to the user in conjunction with the blocked segment ofmedia content.
 7. The method of claim 1, wherein: the informationidentifying the blocked segment of the media content comprises selectedvideo data of the blocked segment; analyzing the video data ofsubsequently received segments in the later received portion of themedia content stream; comparing the analyzed video data of thesubsequently received segments with the video data of the blockedsegment; and preventing presentation of the later segment of mediacontent based on the video data of the later segment of media contentmatching the video data of the blocked segment.
 8. The method of claim7, wherein: the selected video data of the blocked segment comprises atleast one of a video frame and a video color table, and wherein at leastone of a video frame and a video color table of the later segment ofmedia content in the later received portion of the media content streammatches the at least one of the video frame and the video color table ofthe blocked segment.
 9. The method of claim 1, wherein: the informationidentifying the blocked segment of the media content comprises selectedaudio data of the blocked segment; analyzing the at least one mediacontent stream comprises comparing the selected audio data of theblocked segment with audio data of the later received portion of themedia content stream; and preventing presentation of the later segmentof media content based on detecting the selected audio data of the latersegment of media content in the audio data of the later received portionof the media content stream.
 10. The method of claim 9, wherein: theselected audio data comprises at least one of an audio sample and anaudio frequency range.
 11. The method of claim 1, further comprising:receiving the media content stream and storing at least a portion of themedia content stream prior to presenting the media content stream to theuser, wherein preventing presentation of the later segment of mediacontent comprises presenting a first portion of the stored media contentstream immediately preceding the later segment of media content,immediately followed by a second portion of the stored media contentstream immediately following an end of the later segment of mediacontent.
 12. The method of claim 1, further comprising: forwarding theinformation to a communication node; and communicating the informationto other media devices, wherein the other media devices receiving themedia content stream also block presentation of the later segment ofmedia content when received.
 13. The method of claim 1, furthercomprising: forwarding the information to a communication node, whereinthe communication node blocks communication of the later segment ofmedia content to other media devices receiving the media content stream.14. A method of blocking user-selected media content, the methodcomprising: presenting at least one media content stream to a user,wherein the at least one media content stream includes multiple showingsof an identifiable contiguous segment of media content; while presentinga current showing of the segment of media content to the user, receivinga command from the user to block the segment of media content frompresentation to the user; in response to receiving the command,generating information identifying the segment of media content;analyzing the at least one media content stream to detect subsequentshowings of the segment of media content using the information;preventing presentation to the user of at least one of the subsequentshowings of the segment of media content when detected in the at leastone media content stream; receiving the at least one media contentstream concurrently while presenting the at least one media contentstream to the user; and substituting at least one of audio data andvideo data of the segment with at least one of alternate audio data andalternate video data.
 15. The method of claim 14, wherein: the at leastone media content stream is received over a first media broadcastchannel; and at least one of the alternate audio data and the alternatevideo data is received over a second media broadcast channel differentfrom the first media broadcast channel.
 16. A method of blockinguser-selected media content, the method comprising: presenting at leastone media content stream to a user, wherein the at least one mediacontent stream includes multiple showings of an identifiable contiguoussegment of media content; while presenting a current showing of thesegment of media content to the user, receiving a command from the userto block the segment of media content from presentation to the user; inresponse to receiving the command, generating information identifyingthe segment of media content; analyzing the at least one media contentstream to detect subsequent showings of the segment of media contentusing the information; preventing presentation to the user of at leastone of the subsequent showings of the segment of media content whendetected in the at least one media content stream; in response toreceiving the command, generating second information identifying asecond segment of media content related to a first segment of mediacontent; analyzing the at least one media content stream to detect thesecond segment of media content using the second information; andpreventing presentation to the user of the second segment of mediacontent when detected in the at least one media content stream.
 17. Themethod of claim 16, wherein: the first segment of the media content is afirst advertisement; the second segment of the media content is a secondadvertisement; and the second segment of media content is related to thefirst segment of media content if the first advertisement and the secondadvertisement are advertisements for at least one of the same product orservice, the same type of product or service, and the same corporateentity.
 18. A media content receiver, comprising: a content inputinterface configured to receive multiple channels of media content froma media content source, wherein each of the channels carries a mediacontent stream; a content output interface configured to transmit mediacontent in a selected media content stream for presentation to a user; auser interface configured to receive commands from the user; and controlcircuitry configured to: while transmitting identifiable contiguoussegments of media content of the selected media content stream carriedover a first of the channels for presentation to the user via thecontent output interface, receive a command from the user via the userinterface to prevent subsequent showings of a selected segment of mediacontent identified in the command; in response to receiving the command,generate information identifying the selected segment of media content;using the information of the selected segment, analyze a later receivedportion of the media content stream carried by any of the channels beingcurrently presented to the user via the content output interface todetect subsequent showings of a later segment of media content, whereinthe later segment has the same information as the information of theselected segment; and prevent presentation to the user of at least oneof the subsequent showings of the later segment of media content whendetected in any of the channels being currently presented to the uservia the content output interface.
 19. The media content receiver ofclaim 18, further comprising: a communication interface, wherein thecontrol circuitry is configured to transmit a data item identifying theselected segment of media content via the communication interface to acommunication node, wherein the data item is communicated from thecommunication node to other media devices, and wherein the other mediadevices receiving the media content stream also block presentation ofthe later segment when received based on the received data item matchinga corresponding data item associated with the later segment.
 20. Themedia content receiver of claim 18, further comprising: a communicationinterface, wherein the control circuitry is configured to transmit adata item identifying the selected segment of media content via thecommunication interface to a communication node, and wherein the dataitem is used to block communication of the later segment from thecommunication node to other media devices based on the received dataitem matching a corresponding data item associated with the latersegment.